#ifndef PLUGIN_H
#define PLUGIN_H

#include <QObject>
#include <QtPlugin>
#include "PluginInterface.h"

//插件：面向业务模块（有界面有菜单有业务功能）、
//插件：面向技术功能，比如，QT的图像格式插件，灵活添加webp格式。

class Plugin :  public PluginInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID PluginInterface_iid FILE "plugin.json")
    Q_INTERFACES(PluginInterface)
public:
    Plugin() {}
    ~Plugin() {}
    
    void loadWidget() override;
    virtual void exposeAction()override;
    virtual void exposeFunction()override;
    virtual void initMainWin()override;

    int processMsg(int type, void *userdata)override;
public slots:
    int slot_msg(int type, void *userdata) override;

public:
    bool unload()override;
private:

};

#endif // PLUGIN_H
